package Program.Tool;

import javafx.scene.image.Image;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Popup {
    //内容弹窗
    public static void showJDialog(String content) {
        //创建一个弹框对象
        JDialog jDialog = new JDialog();
        //设置弹框图标
        jDialog.setIconImage(new ImageIcon("JFrame_images\\物业管理.png").getImage());
        //给弹框设置大小
        jDialog.setSize(250, 200);
        //让弹框置顶
        jDialog.setAlwaysOnTop(true);
        //让弹框居中
        jDialog.setLocationRelativeTo(null);
        //弹框不关闭永远无法操作下面的界面
        jDialog.setModal(true);
        //创建Jlabel对象管理文字并添加到弹框当中
        JLabel warning = new JLabel(content);
        //设置字体格式
        Font font = new Font("微软雅黑", Font.BOLD, 18);
        //设置容器内的字体
        warning.setFont(font);
        warning.setBounds(0, 0, 250, 200);
        jDialog.getContentPane().add(warning);
        //让弹框展示出来
        jDialog.setVisible(true);
    }

    //报修详细信息弹窗
    public static void showRepairJDialog(String content) {
        //创建一个弹框对象
        JDialog jDialog = new JDialog();
        //设置弹框图标
        jDialog.setIconImage(new ImageIcon("JFrame_images\\物业管理.png").getImage());
        //给弹框设置大小
        jDialog.setSize(300, 300);
        //让弹框置顶
        jDialog.setAlwaysOnTop(true);
        //让弹框居中
        jDialog.setLocationRelativeTo(null);
        //弹框不关闭永远无法操作下面的界面
        jDialog.setModal(true);
        //创建Jlabel对象管理文字并添加到弹框当中
        JTextArea jTextArea = new JTextArea(content);
        //禁止输入
        jTextArea.setEnabled(false);
        //设置字体格式
        Font font = new Font("微软雅黑", Font.BOLD, 20);
        //设置容器内的字体
        jTextArea.setFont(font);
        //设置禁用后的字体颜色
        jTextArea.setDisabledTextColor(Color.black);
        //多行输入框设置自动换行
        jTextArea.setLineWrap(true);
        //多行输入框设置无边框
        jTextArea.setBorder(null);

        //滚动条
        JScrollPane jScrollPane = new JScrollPane(jTextArea);
        //设置滚动条水平和垂直的格式
        jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
        jScrollPane.setBackground(Color.WHITE);
        jScrollPane.setBounds(0, 0, 300, 300);
        jDialog.getContentPane().add(jScrollPane);
        //让弹框展示出来
        jDialog.setVisible(true);
    }

    static int i = 0;
    //弹窗显示支付码方法
    public static int showPaymentCode(String amount) {

        //创建一个弹框对象
        JDialog jDialog = new JDialog();
        jDialog.setLayout(null);
        //给弹窗设置大小
        jDialog.setSize(500, 500);
        //给弹窗设置标题
        jDialog.setTitle("支付窗口");
        //设置弹窗的图标
        jDialog.setIconImage(new ImageIcon("Application_images\\用户界面图标.png").getImage());
        //让弹窗置顶
        jDialog.setAlwaysOnTop(true);
        //让弹窗居中
        jDialog.setLocationRelativeTo(null);
        //弹窗不关闭无法操作下面的界面
        jDialog.setModal(true);

        //充值金额标签
        JLabel amountJLabel = new JLabel("充值金额");
        amountJLabel.setBounds(100, 15, 100, 50);
        amountJLabel.setFont(new Font("微软雅黑", Font.BOLD, 20));
        jDialog.add(amountJLabel);
        //充值金额内容标签
        JLabel amountContentJLabel = new JLabel(amount, JLabel.CENTER);
        amountContentJLabel.setBounds(200, 15, 150, 50);
        amountContentJLabel.setBackground(Color.gray);
        amountContentJLabel.setBorder(BorderFactory.createLineBorder(Color.black, 2));
        amountContentJLabel.setFont(new Font("微软雅黑", Font.BOLD, 20));
        jDialog.add(amountContentJLabel);

        //支付码标签
        JLabel pcJLabel = new JLabel("支付码");
        pcJLabel.setBounds(200, 70, 100, 50);
        pcJLabel.setFont(new Font("微软雅黑", Font.BOLD, 20));
        jDialog.add(pcJLabel);

        //创建一个管理图片的容器对象JLabel
        PictureAlterJPanel paJPanel = new PictureAlterJPanel("Application_images\\paymentCode.png");
        //设置位置和宽高
        paJPanel.setBounds(100, 120, 258, 258);
        //把图片添加到弹窗中
        jDialog.getContentPane().add(paJPanel);

        //确定支付按钮
        JButton defineJButton = new JButton("已支付");
        defineJButton.setBounds(200, 400, 80, 50);
        defineJButton.setFont(new Font("微软雅黑", Font.BOLD, 20));
        defineJButton.setBackground(new Color(103, 172, 80));
        //取消按钮的焦点框
        defineJButton.setFocusPainted(false);
        //取消按钮的边框
        defineJButton.setBorder(null);
        //设置鼠标样式
        defineJButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
        defineJButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                jDialog.dispose();
                i = 1;
            }
        });
        jDialog.add(defineJButton);
        //让弹窗显示出来
        jDialog.setVisible(true);

        return i;
    }
}
